import os

# os：operating system ，python语言与操作系统之间的交互

'''操作系统相关的方法'''
# 1、name 获取当前操作系统的名称
print(os.name) # nt就是windows，linux和macos是 posix
# linux:grep  windows:findstr

# 2、environ 获取当前操作系统中系统环境变量
print(os.environ)

# 3、getenv(key) 获取当前操作系统中 某个变量的值
print(os.getenv('ANDROID_HOME')) # D:\windows_sdk

# 4、system(命令) # 执行当前操作系统中的命令工具 ，windows就是cmd ，linux 就是shell
# os.system('mkdir os_demo')

'''对目录的操作'''
# 1、getcwd() 获取当前文件的所在位置，pwd
print(os.getcwd()) # C:\Users\Laptop\Desktop\thirtyseven\06_内置模块

# 2、chdir(路径) 切换目录 cd
# os.chdir('../')
print(os.getcwd()) # C:\Users\Laptop\Desktop\thirtyseven

# 3、mkdir(路径) 创建目录
# os.mkdir('./os_demo1')

# 4、makedirs(路径) 创建联级目录
# os.makedirs('./a/b/c')

# 5、listdir(路径) 查看某路径下所有内容 ls
print(os.listdir('./'))

# 6、rmdir(路径) # 删除目录
# os.rmdir('./a/b/c')
# os.rmdir('./a/b')
# os.rmdir('./a')

# 7、rename(路径,新名) 对目录重命名
# os.rename('./os_demo1','os_demo2')

# 8、isdir(路径) 判断传入路径 是否是 目录 返回布尔值
print(os.path.isdir('./os_demo2'))
print(os.path.isdir('./02_copy模块.py'))

'''对文件的操作'''
# 1、isfile(路径) 判断是否是文件 返回布尔值
print(os.path.isfile('./02_copy模块.py'))

# 2、basename(路径) 获取传入的路径中 文件的名字
path = r'C:\Users\Laptop\Desktop\thirtyseven\06_内置模块\07_os模块.py'
print(os.path.basename(path)) # 07_os模块.py

# 3、abspath(相对路径) 返回绝对路径
print(os.path.abspath('./07_os模块.py')) # C:\Users\Laptop\Desktop\thirtyseven\06_内置模块\07_os模块.py

# 4、dirname(路径) 传入某文件路径，返回该文件所在目录的路径（文件去掉）
print(os.path.dirname(path)) # C:\Users\Laptop\Desktop\thirtyseven\06_内置模块

# 5、exists(路径) 判断你的路径是否正确
print(os.path.exists(r'C:\Users\Laptop\Desktop\thirtyseven\06_内置模块1'))

# 6、__file__ 来代替当前正在运行的文件
print(os.path.abspath(__file__))